package com.wonders.framework.util;

import java.util.Calendar;
import java.util.Date;

import com.wonders.framework.constant.DateConstant;

/**
 * 日期工具
 * 
 * @author WuBin
 * 
 */
public class DateUtil {

	/**
	 * 日期转字符串
	 * 
	 * @return 日期字符串
	 */
	public static String toChar() {
		return toChar(new Date());
	}

	/**
	 * 日期转字符串
	 * 
	 * @param date
	 *            日期
	 * @return 日期字符串
	 */
	public static String toChar(Date date) {
		return DateConstant.DATETIME_FORMAT_SIMPLE.format(date);
	}

	/**
	 * 获取前（后）几天的日期
	 * 
	 * @param days
	 *            前（后）几天
	 * @return 日期
	 */
	public static Date getDateByDays(int days) {
		return getDateByDays(new Date(), days);
	}

	/**
	 * 获取前（后）几天的日期
	 * 
	 * @param date
	 *            基准日期
	 * @param days
	 *            前（后）几天
	 * @return 日期
	 */
	public static Date getDateByDays(Date date, int days) {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		calendar.add(Calendar.DATE, days);
		return calendar.getTime();
	}

	/**
	 * 获取某月的天数
	 * 
	 * @param year
	 *            年
	 * @param month
	 *            月
	 * @return 天数
	 */
	public static int getDays(int year, int month) {
		Calendar time = Calendar.getInstance();
		time.set(Calendar.YEAR, year);
		time.set(Calendar.MONTH, month);
		return time.getActualMaximum(Calendar.DAY_OF_MONTH);
	}

}
